/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package issr.controller;

import issr.entity.Utente;
import issr.persistence.Database;
import java.util.ArrayList;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.ejb.Stateless;

/**
 *
 * @author Soulreaver
 */
@WebService(serviceName = "ControlloreGenerazionePassword")
@Stateless()
public class ControlloreGenerazionePassword {

    private Database db = Database.getInstance();

    /**
     * Web service operation
     */
    @WebMethod(operationName = "generaPassword")
    public boolean generaPassword(@WebParam(name = "utente") Utente utente, @WebParam(name = "nuovaPassword") String nuovaPassword, @WebParam(name = "corrente") Utente corrente) {
        if (nuovaPassword.matches("^[a-zA-Z0-9]+$")) {
            try {
                utente.setPassword(nuovaPassword);
                db.generaPassword(utente);
                db.aggiungiEntry(
                        corrente,
                        "Password Utente: " + utente.toString() + " modificata");

                return true;
            } catch (Exception e) {
                return false;
            }
        } else {
            return false;
        }
    }

    @WebMethod(operationName = "ottieniListaDipendentiPuntoVendita")
    public ArrayList<Utente> ottieniListaDipendentiPuntoVendita(@WebParam(name = "corrente") Utente corrente) {
        ArrayList<Utente> listaUtenti = db.caricaDipendentiPVSemplici(corrente.getPuntovendita());
        return listaUtenti;
    }
}
